layui.config({
    base: '../../static/layuiadmin/' //静态资源所在路径
}).extend({
    index: 'lib/index' //主入口模块
}).use(['index', 'useradmin', 'table'], function () {
    var $ = layui.$
        , form = layui.form
        , table = layui.table;
    var active = {
        add: function (data) {
            layer.open({
                type: 2
                , title: '添加用户'
                , elem: '#add'
                , content: 'addUser.html'
                , maxmin: true
                , area: ['800px', '400px']
                , contentType: 'application/json'
                , success: function (data) {
                    $.ajax({
                        url: '../../admin/save',
                        type: 'POST',
                        data: JSON.stringify(data.field),
                        success: function (r) {
                            if (r.code === 0) {
                                alert("添加成功！！！");
                                window.parent.location.reload();//刷新父页面
                                parent.layer.close(index);//关闭弹出层
                            }
                        }
                    })
                }
            });
        }
    };

    $('.layui-btn.layuiadmin-btn-useradmin').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });
});
layui.use('table', function () {
    var table = layui.table;

    table.render({
        //显示列表
        elem: '#list'
        , url: '../../admin/list'
        , defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
            title: '提示'
            , layEvent: 'LAYTABLE_TIPS'
            , icon: 'layui-icon-tips'
        }]
        , id: 'list'
        , where: {
            username: ''
        }
        , title: '用户数据表'
        , cols: [[
            {field: 'username', title: '用户名', width: 80, fixed: 'left', align: 'center'}
            , {field: 'userAccount', title: '用户账号', width: 120, align: 'center'}
            , {field: 'password', hide:true,title: '用户密码', width: 120, align: 'center'}
            , {field: 'birth', title: '生日', width: 110, align: 'center'}
            , {
                field: 'sex', title: '性别', width: 60, align: 'center', templet: function (item) {
                    if (item.sex === 'F') {
                        return '女';
                    }
                    if (item.sex === 'M') {
                        return '男';
                    }
                }
            }
            , {field: 'email', title: '邮件', width: 120, align: 'center'}
            , {field: 'mobile', title: '电话', width: 150, align: 'center'}
            , {field: 'address', title: '地址', width: 120, align: 'center'}
            , {
                field: 'status', title: '状态', width: 80, align: 'center', templet: function (item) {
                    if (item.status === 'Y') {
                        return '启用';
                    }
                    if (item.status === 'N') {
                        return '禁用';
                    }
                }
            }
            , {
                field: 'name', title: '用户部门', width: 100, align: 'center'
            }
            , {field: 'roleName', title: '用户角色', width: 100, align: 'center'}
            , {field: 'lockTime', title: '锁定时间', width: 150, align: 'center'}
            , {field: 'createTime', title: '创建时间', width: 150, sort: true, align: 'center'}
            , {field: 'updateTime', title: '修改时间', width: 150, align: 'center'}
            , {field: 'createBy', title: '创建人', width: 80, align: 'center'}
            , {field: 'updateBy', title: '修改人', width: 80, align: 'center'}
            , {fixed: 'right', title: '操作', toolbar: '#bar', width: 220, align: 'center'}
        ]]
        , page: true
    });
//条件查询搜索按钮
    $("#SelectBtn").click(function (ev) {
        console.info("reload");
        table.reload('list', {
            where: {
                username: $('#username').val(),
            }, //设定异步数据接口的额外参数
            page: {
                curr: 1
            }
        });
        return false;
    })
    //监听行工具事件
    table.on('tool(list)', function (obj) {

        var rowdata = obj.data
        var user_id = rowdata.userId;

        //删除用户信息
        if (obj.event === 'del') {
            layer.confirm('真的删除该用户么？', function (index) {
                // obj.delete(); //删除对应行（tr）的DOM结构，并更新缓存
                //向服务端发送删除指令
                $.ajax({
                    type: "get",  //数据提交方式(post/get)
                    elem: "#bar",
                    data: "userId=" + user_id,
                    url: "../../admin/del",  //提交到的url
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",//返回的数据类型格式
                    success: function (Result) {
                        console.log(Result, 'success');
                        layer.msg("删除用户成功！", {icon: 6, time: 1000});
                        window.location.reload();//刷新父页面
                    }, error: function (e) {
                        console.log(e, 'error');
                        layer.msg("正在登录该用户，不允许删除！", {icon: 5, time: 1000});
                    }
                });
                layer.close(index);
            });
        }

        //一键重置密码
        if (obj.event === 'resetPassword') {
            layer.confirm('确定重置密码么？', function (index) {
                $.ajax({
                    type: "post",  //数据提交方式(post/get)
                    elem: "#bar",
                    data: JSON.stringify(rowdata),
                    url: "../../admin/resetPassword",  //提交到的url
                    contentType: "application/json",
                    //dataType: "json",//返回的数据类型格式
                    success: function (Result) {
                        console.log(Result, 'success');
                        alert("重置密码成功！");
                        window.location.reload();//刷新父页面
                    }, error: function (e) {
                        console.log(e, 'error');
                        layer.msg("重置密码失败！", {icon: 5, time: 1000});
                    }
                });
                layer.close(index);
            });
        }

        //修改用户信息
        else if (obj.event === 'edit') {
            layer.open({
                type: 2   //1只是content显示字符串,2代表content显示页面
                , title: "修改用户信息" //true显示标题栏，false不显示标题
                , elem: '#bar'
                , closeBtn: 1
                , area: ['800px', '350px']
                , shade: 0.8
                , id: 'LAY_layuiup' //设定一个id，防止重复弹出
                , btnAlign: 'c'
                , dataType: "json"//返回的数据类型格式
                , moveType: 1 //拖拽模式，0或者1
                , content: 'updateUser.html'
                , success: function (layero) {
                    var iframein = window[layero.find('iframe')[0]['name']];
                    iframein.$("#username").val(rowdata.username);
                    iframein.$("#userAccount").val(rowdata.userAccount);
                    iframein.$("#user_id").val(rowdata.userId);
                    iframein.$("#password").val(rowdata.password);
                    iframein.$("#mobile").val(rowdata.mobile);
                    iframein.$("#email").val(rowdata.email);
                    iframein.$("#address").val(rowdata.address);
                    iframein.$("#name").val(rowdata.name);
                    iframein.$("#status").val(rowdata.status);
                    $.get("/ams-admin/dept/findAll01", {}, function (data) {
                        var list = data;
                        var select = iframein.$("#deptId") /*document.getElementById('deptId');*/
                        if (list != null || list.size() > 0) {
                            for (var c in list) {
                                var option = document.createElement("option");
                                option.setAttribute("value", list[c].deptId);
                                option.innerText = list[c].name;
                                select[0].appendChild(option)
                            }
                        }
                        ;
                        layui.form.render('select');
                        iframein.$("#deptId").each(function () {
                            console.log($(this).children("option").length)
                            // this代表的是<option></option>，对option再进行遍历
                            $(this).children("option").each(function () {
                                // 判断需要对那个选项进行回显
                                if (this.value == rowdata.deptId) {
                                    // 进行回显
                                    $(this).attr("selected", "selected");
                                }
                            });
                            iframein.layui.form.render();
                        })

                        iframein.layui.form.render();
                        console.log(iframein.$("#deptId").val())
                    }, "json");


                    var btn = layero.find('.layui-layer-btn');
                    btn.find('.layui-layer-btn0').attr({
                        href: 'list.html',
                        target: '_blank'
                    });
                }
            });

        }
    });
    $('.demoTable .layui-btn').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    })

});
